#include <memory>
#include "udpserver.hpp"
#include "dict.hpp"

//翻译：client想server发送汉语，server通过外接翻译模块将翻译结果返回

void useTips(char* command)
{
    cout << "useTips:" << command << " ip" << " port" << endl;
}

int main(int argc, char* argv[])
{
    //EnableFile();
    EnableScreen();
    // if(argc != 3) //指定ip版本
    // {
    //     useTips(argv[0]);
    //     LOG(ERROR, "parameter usage error!"); 
    //     exit(USE_ERROR);
    // }

    if(argc != 2) //不指定ip版本
    {
        useTips(argv[0]);
        LOG(ERROR, "parameter usage error!"); 
        exit(USE_ERROR);
    }

    LOG(INFO, "parameter usage success!");
    //0、准备工作，初始化字典
    Dict dict("./dict.txt");

    //1、定义一个服务器服务
    unique_ptr<UdpServer> usvr = make_unique<UdpServer>(atoi(argv[1]), std::bind(&Dict::translate, &dict, std::placeholders::_1)); //c++14特性

    //2、初始化
    usvr->initServer();

    //3、启动
    usvr->startServer();
    
    return 0;
}